package common.model.Entity.libraryEntity;

import java.util.Date;

import lombok.Getter;
import lombok.Setter;
import common.model.Entity.libraryEntity.enums.BookStatus;
import common.model.Entity.BaseEntity;

/**
 * 图书复本实体类，对应某一本书的具体物理复本
 *
 *  <p>每个 {@code BookItem} 通过唯一的 {@code id} 标识，并关联到一本 {@link Book}（通过 {@code isbn}）。</p>
 *
 *  <p>使用 Lombok 自动生成 Getter/Setter 方法，继承自 {@link common.model.Entity.BaseEntity}。</p>
 */
@Getter
@Setter
public class BookItem extends BaseEntity{

    /**
     * 关联的图书 ISBN
     */
    private String isbn;
    /**
     * 副本主键 id
     */
    private Long id;

    /**
     * 副本当前状态，取值参考 {@link BookStatus}。
     */
    private BookStatus status;

    /**
     * 副本在馆内的物理位置
     */
    private String location;

    /**
     * 在馆数量
     */
    private Integer inLibrary;

    /**
     * 可借数量
     */
    private Integer available;

    /**
     * 当前预约该副本的排队人数
     */
    private Integer queue;
}
